Trong lịch sử, C++ thiếu một cách thống nhất để tương tác với các dịch vụ phần cứng, buộc các nhà phát triển phải đi vào "các vùng cô lập nền tảng" nơi các cơ sở mã nguồn bị phân mảnh do các API đặc trưng cho hệ điều hành như Win32 hoặc POSIX. Trang trình bày này đánh dấu sự chuyển đổi sang một thời đại hiện đại nơi Thư viện Chuẩn C++ đóng vai trò là lớp trừu tượng phổ biến.
1. Sự Khép Lại của Mã "Spaghetti" #ifdef
Trước khi chuẩn hóa, những nhiệm vụ đơn giản như khởi tạo một luồng hoặc duyệt qua thư mục yêu cầu các macro tiền xử lý để xử lý các tiêu đề hệ thống khác nhau (ví dụ, <windows.h> so với <pthread.h>). Điều này dẫn đến mã nguồn cồng kềnh, khó bảo trì.
2. Sự Thay Đổi Mô Hình Từ C++11
Chuẩn đã bắt đầu giành lại quyền kiểm soát đối với các tài nguyên hệ thống. Cụ thể, C++11 đã bổ sung các tính năng đồng thời cấp cao bao gồm std::thread, std::mutex và std::future, điều này đã chuẩn hóa mối quan hệ của ngôn ngữ với bộ xử lý trung tâm (CPU).
3. Tách Bạch Logic Nhà Cung Cấp
Bằng cách vượt ra ngoài mã nguồn đặc trưng cho nền tảng, Thư viện Chuẩn cung cấp cam kết "viết một lần, biên dịch ở bất kỳ đâu nào cũng được". Gánh nặng bảo trì nền tảng sẽ chuyển từ người phát triển sang nhà cung cấp trình biên dịch.